HAS_ACPI := y
HAS_VGA := y
xenoprof := y
-VALIDATE_VT ?= n
no_warns ?= n
xen_ia64_expose_p2m ?= y
xen_ia64_pervcpu_vhpt ?= y
CFLAGS += -ffixed-r13 -mfixed-range=f2-f5,f12-f127
CFLAGS += -g
#CFLAGS += -DVTI_DEBUG
-ifeq ($(VALIDATE_VT),y)
-CFLAGS += -DVALIDATE_VT
-endif
ifeq ($(xen_ia64_expose_p2m),y)
CFLAGS += -DCONFIG_XEN_IA64_EXPOSE_P2M
endif
/*
* Switch into virtual mode:
*/
-#if defined(XEN) && defined(VALIDATE_VT)
- movl r16=(IA64_PSR_IT|IA64_PSR_IC|IA64_PSR_DT|IA64_PSR_RT|IA64_PSR_DFH\
- |IA64_PSR_DI)
-#else
movl r16=(IA64_PSR_IT|IA64_PSR_IC|IA64_PSR_DT|IA64_PSR_RT|IA64_PSR_DFH|IA64_PSR_BN \
|IA64_PSR_DI)
-#endif
;;
mov cr.ipsr=r16
movl r17=1f
;;
// set IVT entry point---can't access I/O ports without it
-#if defined(XEN) && defined(VALIDATE_VT)
- movl r3=vmx_ia64_ivt
-#else
movl r3=ia64_ivt
-#endif
;;
mov cr.iva=r3
movl r2=FPSR_DEFAULT
.load_current:
// load the "current" pointer (r13) and ar.k6 with the current task
-#if defined(XEN) && defined(VALIDATE_VT)
- mov r21=r2
- ;;
- bsw.1
- ;;
-#else
mov IA64_KR(CURRENT)=r2 // virtual address
mov IA64_KR(CURRENT_STACK)=r16
-#endif
mov r13=r2
/*
* Reserve space at the top of the stack for "struct pt_regs". Kernel
unsigned long bp_mpa;
struct ia64_boot_param *bp;
-#ifdef VALIDATE_VT
- unsigned int vmx_dom0 = 0;
- unsigned long mfn;
- struct page_info *page = NULL;
-#endif
-
//printk("construct_dom0: starting\n");
/* Sanity! */
if ( rc != 0 )
return rc;
-#ifdef VALIDATE_VT
- /* Temp workaround */
- if (running_on_sim)
- dsi.xen_section_string = (char *)1;
-
- /* Check whether dom0 is vti domain */
- if ((!vmx_enabled) && !dsi.xen_section_string) {
- printk("Lack of hardware support for unmodified vmx dom0\n");
- panic("");
- }
-
- if (vmx_enabled && !dsi.xen_section_string) {
- printk("Dom0 is vmx domain!\n");
- vmx_dom0 = 1;
- }
-#endif
-
p_start = dsi.v_start;
pkern_start = dsi.v_kernstart;
pkern_end = dsi.v_kernend;
printk("Dom0: 0x%lx\n", (u64)dom0);
-#ifdef VALIDATE_VT
- /* VMX specific construction for Dom0, if hardware supports VMX
- * and Dom0 is unmodified image
- */
- if (vmx_dom0)
- vmx_final_setup_guest(v);
-#endif
-
set_bit(_VCPUF_initialised, &v->vcpu_flags);
/* Build firmware.
#define find_first_set_bit(x) (ffs(x)-1) // FIXME: Is this right???
// see drivers/char/console.c
-#ifndef VALIDATE_VT
#define OPT_CONSOLE_STR "com1"
-#else
-#define OPT_CONSOLE_STR "com2"
-#endif
#define __nocast